﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace VoteInformationSystem.Models
{
    public interface IBundestagswahlRepository
    {
        /// <summary>
        /// Returns a Bundestagswahl object that has the given id Id as its primary key, or null if nonexistant.
        /// </summary>
        /// <param name="Id">The primary key to look for</param>
        /// <returns>A Bundestagswahl object with the given Id, or null if no such exists</returns>
        Bundestagswahl Get(int Id);

        /// <summary>
        /// Returns an IEnumerable of Bundestagswahl objects for every such object stored in the database.
        /// </summary>
        /// <returns>An IEnumerable of Bundestagswahl objects, may be empty</returns>
        IEnumerable<Bundestagswahl> GetAll();

        /// <summary>
        /// Returns the Bundestagswahl that happened before the one with the given Id.
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Bundestagswahl GetPrevious(int Id);
    }
}